How has the COVID-19 lockdown impacted landings in the Pacific Canada groundfish fishery?

B. Connors and L. Lacko

Quantitative Assessment Methods Section, Pacific Region, DFO

2020-09-27

This document briefly describes analyses of COVID-19 associated change in landings in the integrated groundfish fishery in Pacific Canada.

Data for these analyses were queried from GFFOS, a groundfsh-specific view of the Pacific Regional Fishery Operations System (FOS) database. Groundfish fisheries include the directed Rockfish, Spiny Dogfish, Lingcod, Halibut, Sablefish, and Trawl fisheries in Pacific waters (Figure 1). Official catch estimates were derived from the ratio of total weight landed from the dockside monitoring program to the total of all retained catch weights from the logbook program.

All code and associated data to reproduce this document can be found on Github here.

Figure 1. Pacific Canada Fishery Management Areas.

1. Load required packages and landings and effort data
library(tidyverse)
library(dplyr)
library(ggsidekick)
library(rstanarm) 
library(lme4)

catch_effort <- read.csv("CatchByMonthGear.csv")
catch_effort$log_land <- log(catch_effort$landed_kg)
catch_effort$month <- as.factor(catch_effort$month)
catch_effort$month_n <- as.numeric(catch_effort$month)
2. What do landings (in kg) look like by species (top 20 by weight)?
landed_spp <- catch_effort %>%
  group_by(SPECIES_COMMON_NAME) %>%
  dplyr::summarise(landings = sum(landed_kg))%>%
  arrange(desc(landings))%>%
  as.data.frame()

landed_spp[1:20,]
##                       SPECIES_COMMON_NAME  landings
## 1                            PACIFIC HAKE 635112083
## 2                     ARROWTOOTH FLOUNDER  80057280
## 3                         WALLEYE POLLOCK  42660268
## 4                     YELLOWTAIL ROCKFISH  36644981
## 5                     PACIFIC OCEAN PERCH  36439309
## 6                         PACIFIC HALIBUT  33903552
## 7                               SABLEFISH  20220532
## 8                          WIDOW ROCKFISH  18045929
## 9                              DOVER SOLE  14638035
## 10                    SILVERGRAY ROCKFISH  14112718
## 11                                LINGCOD  12793192
## 12                   YELLOWMOUTH ROCKFISH  11776823
## 13                            PACIFIC COD   9548460
## 14 ROUGHEYE/BLACKSPOTTED ROCKFISH COMPLEX   7890286
## 15                        CANARY ROCKFISH   7553248
## 16                     REDSTRIPE ROCKFISH   6285564
## 17                           PETRALE SOLE   6032077
## 18                           ENGLISH SOLE   5396784
## 19                     SOUTHERN ROCK SOLE   5034459
## 20                              BIG SKATE   3837136

Wow that is a lot of Hake fish fingers.

3. What do landings look like by month over time?
agg_landed_spp <- catch_effort %>%
  group_by(year, month) %>%
  summarise(landings = sum(landed_kg), n = n())%>%
  as.data.frame()

ggplot(agg_landed_spp, aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek() 

Landings clearly vary over the course of the year with peak landings typically occurring over the summer. There is no uber obvious decline in landings in the spring/summer of 2020 coincident with COVID (note that landings in July should be interpreted with caution due to potentially incomplete reporting). But landings are dominated by Hake, so let’s look at a few of the most commonly landed species individually.

4. What do species specific landings (top 10) look like over time?
ind_landed_spp <- catch_effort %>%
  group_by(year, month,SPECIES_COMMON_NAME) %>%
  summarise(landings = sum(landed_kg))%>%
  as.data.frame()

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="PACIFIC HAKE",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Hake")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="ARROWTOOTH FLOUNDER",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Arrowtooth")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="WALLEYE POLLOCK",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Pollock")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="YELLOWTAIL ROCKFISH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Yellowtail")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="PACIFIC OCEAN PERCH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Perch")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="PACIFIC HALIBUT",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Halibut")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="SABLEFISH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Sablefish")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="DOVER SOLE",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Dover sole")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="WIDOW ROCKFISH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Widow rockfish")

ggplot(ind_landed_spp[ind_landed_spp$SPECIES_COMMON_NAME=="SILVERGRAY ROCKFISH",], aes(x= month, y = (landings/100000)))+
  geom_bar(stat="identity")+
  facet_wrap(~ year) +
  theme_sleek()+
  ggtitle("Silvergrey rockfish")

No super obvious COVID associated reduction in landings jump out from these figures, but if your squint it looks like landings of Halibut, Sablefish and Lingcod are down a bit since beginning of COVID, maybe?.

Let’s actually test for a COVID “effect”.

5. Test for a COVID lockdown effect on landings

We can test for a COVID lockdown effect on landings by fitting a linear mixed effects model of (log) landings as a function of gear type (landings vary by gear type), and whether or not landings occurred during the COVID lockdown. In this case I have subsetted the data to only consider the top ten species in landings, and to only consider the same period of time each year (March to July, inclusive), so in effect we are asking: “Were landings different in 2020 than they were during the same time periods during the previous 10 years?”"

I specified year and species as random effects (random intercepts; i.e., landings vary by year and species) and also allowed the COVID effect to vary by species (random slope). I fit this model in a Bayesian estimation framework using STAN so as to deal with singularity issues (over fitting?) when fit in a Maximum Likelihood framework, plus we can get a full posterior distribution for the random effects. There are admittedly many other ways to think about testing for a COVID effect, this is just a very simple first pass.

Here is a call to fit the model and then summary of model fit.

covid_model <- stan_lmer(log_land ~ 0 + gear + covid + (1|year) + (covid|SPECIES_COMMON_NAME), 
                         data = covid_period)
## 
## SAMPLING FOR MODEL 'continuous' NOW (CHAIN 1).
## Chain 1: 
## Chain 1: Gradient evaluation took 0 seconds
## Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
## Chain 1: Adjust your expectations accordingly!
## Chain 1: 
## Chain 1: 
## Chain 1: Iteration:    1 / 2000 [  0%]  (Warmup)
## Chain 1: Iteration:  200 / 2000 [ 10%]  (Warmup)
## Chain 1: Iteration:  400 / 2000 [ 20%]  (Warmup)
## Chain 1: Iteration:  600 / 2000 [ 30%]  (Warmup)
## Chain 1: Iteration:  800 / 2000 [ 40%]  (Warmup)
## Chain 1: Iteration: 1000 / 2000 [ 50%]  (Warmup)
## Chain 1: Iteration: 1001 / 2000 [ 50%]  (Sampling)
## Chain 1: Iteration: 1200 / 2000 [ 60%]  (Sampling)
## Chain 1: Iteration: 1400 / 2000 [ 70%]  (Sampling)
## Chain 1: Iteration: 1600 / 2000 [ 80%]  (Sampling)
## Chain 1: Iteration: 1800 / 2000 [ 90%]  (Sampling)
## Chain 1: Iteration: 2000 / 2000 [100%]  (Sampling)
## Chain 1: 
## Chain 1:  Elapsed Time: 1.453 seconds (Warm-up)
## Chain 1:                1.126 seconds (Sampling)
## Chain 1:                2.579 seconds (Total)
## Chain 1: 
## 
## SAMPLING FOR MODEL 'continuous' NOW (CHAIN 2).
## Chain 2: 
## Chain 2: Gradient evaluation took 0 seconds
## Chain 2: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
## Chain 2: Adjust your expectations accordingly!
## Chain 2: 
## Chain 2: 
## Chain 2: Iteration:    1 / 2000 [  0%]  (Warmup)
## Chain 2: Iteration:  200 / 2000 [ 10%]  (Warmup)
## Chain 2: Iteration:  400 / 2000 [ 20%]  (Warmup)
## Chain 2: Iteration:  600 / 2000 [ 30%]  (Warmup)
## Chain 2: Iteration:  800 / 2000 [ 40%]  (Warmup)
## Chain 2: Iteration: 1000 / 2000 [ 50%]  (Warmup)
## Chain 2: Iteration: 1001 / 2000 [ 50%]  (Sampling)
## Chain 2: Iteration: 1200 / 2000 [ 60%]  (Sampling)
## Chain 2: Iteration: 1400 / 2000 [ 70%]  (Sampling)
## Chain 2: Iteration: 1600 / 2000 [ 80%]  (Sampling)
## Chain 2: Iteration: 1800 / 2000 [ 90%]  (Sampling)
## Chain 2: Iteration: 2000 / 2000 [100%]  (Sampling)
## Chain 2: 
## Chain 2:  Elapsed Time: 1.673 seconds (Warm-up)
## Chain 2:                1.049 seconds (Sampling)
## Chain 2:                2.722 seconds (Total)
## Chain 2: 
## 
## SAMPLING FOR MODEL 'continuous' NOW (CHAIN 3).
## Chain 3: 
## Chain 3: Gradient evaluation took 0 seconds
## Chain 3: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
## Chain 3: Adjust your expectations accordingly!
## Chain 3: 
## Chain 3: 
## Chain 3: Iteration:    1 / 2000 [  0%]  (Warmup)
## Chain 3: Iteration:  200 / 2000 [ 10%]  (Warmup)
## Chain 3: Iteration:  400 / 2000 [ 20%]  (Warmup)
## Chain 3: Iteration:  600 / 2000 [ 30%]  (Warmup)
## Chain 3: Iteration:  800 / 2000 [ 40%]  (Warmup)
## Chain 3: Iteration: 1000 / 2000 [ 50%]  (Warmup)
## Chain 3: Iteration: 1001 / 2000 [ 50%]  (Sampling)
## Chain 3: Iteration: 1200 / 2000 [ 60%]  (Sampling)
## Chain 3: Iteration: 1400 / 2000 [ 70%]  (Sampling)
## Chain 3: Iteration: 1600 / 2000 [ 80%]  (Sampling)
## Chain 3: Iteration: 1800 / 2000 [ 90%]  (Sampling)
## Chain 3: Iteration: 2000 / 2000 [100%]  (Sampling)
## Chain 3: 
## Chain 3:  Elapsed Time: 1.585 seconds (Warm-up)
## Chain 3:                1.143 seconds (Sampling)
## Chain 3:                2.728 seconds (Total)
## Chain 3: 
## 
## SAMPLING FOR MODEL 'continuous' NOW (CHAIN 4).
## Chain 4: 
## Chain 4: Gradient evaluation took 0 seconds
## Chain 4: 1000 transitions using 10 leapfrog steps per transition would take 0 seconds.
## Chain 4: Adjust your expectations accordingly!
## Chain 4: 
## Chain 4: 
## Chain 4: Iteration:    1 / 2000 [  0%]  (Warmup)
## Chain 4: Iteration:  200 / 2000 [ 10%]  (Warmup)
## Chain 4: Iteration:  400 / 2000 [ 20%]  (Warmup)
## Chain 4: Iteration:  600 / 2000 [ 30%]  (Warmup)
## Chain 4: Iteration:  800 / 2000 [ 40%]  (Warmup)
## Chain 4: Iteration: 1000 / 2000 [ 50%]  (Warmup)
## Chain 4: Iteration: 1001 / 2000 [ 50%]  (Sampling)
## Chain 4: Iteration: 1200 / 2000 [ 60%]  (Sampling)
## Chain 4: Iteration: 1400 / 2000 [ 70%]  (Sampling)
## Chain 4: Iteration: 1600 / 2000 [ 80%]  (Sampling)
## Chain 4: Iteration: 1800 / 2000 [ 90%]  (Sampling)
## Chain 4: Iteration: 2000 / 2000 [100%]  (Sampling)
## Chain 4: 
## Chain 4:  Elapsed Time: 1.719 seconds (Warm-up)
## Chain 4:                1.141 seconds (Sampling)
## Chain 4:                2.86 seconds (Total)
## Chain 4:
summary(covid_model) 
## 
## Model Info:
## 
##  function:     stan_lmer
##  family:       gaussian [identity]
##  formula:      log_land ~ 0 + gear + covid + (1 | year) + (covid | SPECIES_COMMON_NAME)
##  algorithm:    sampling
##  priors:       see help('prior_summary')
##  sample:       4000 (posterior sample size)
##  observations: 146
##  groups:       year (10), SPECIES_COMMON_NAME (10)
## 
## Estimates:
##                                                          mean   sd     2.5%
## gearBOTTOM TRAWL                                         10.4    0.7    9.0
## gearHOOK AND LINE                                         6.8    0.7    5.3
## gearMIDWATER TRAWL                                        9.5    0.7    8.0
## gearTRAP                                                  8.3    1.4    5.5
## gearUNSPECIFIED                                           4.7    0.9    2.8
## covid                                                     0.2    1.2   -2.2
## b[(Intercept) year:2011]                                  0.1    0.5   -0.8
## b[(Intercept) year:2012]                                  0.2    0.5   -0.7
## b[(Intercept) year:2013]                                 -0.1    0.5   -1.3
## b[(Intercept) year:2014]                                  0.0    0.5   -1.0
## b[(Intercept) year:2015]                                  0.5    0.6   -0.4
## b[(Intercept) year:2016]                                 -0.3    0.5   -1.5
## b[(Intercept) year:2017]                                 -0.2    0.5   -1.4
## b[(Intercept) year:2018]                                  0.2    0.6   -0.8
## b[(Intercept) year:2019]                                 -0.2    0.5   -1.5
## b[(Intercept) year:2020]                                  0.0    0.7   -1.5
## b[(Intercept) SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]   -0.4    0.7   -1.8
## b[covid SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]         -0.4    1.0   -3.0
## b[(Intercept) SPECIES_COMMON_NAME:DOVER_SOLE]            -0.7    0.9   -2.7
## b[covid SPECIES_COMMON_NAME:DOVER_SOLE]                   0.3    1.1   -1.7
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HAKE]           1.6    1.1   -0.1
## b[covid SPECIES_COMMON_NAME:PACIFIC_HAKE]                 0.1    1.3   -2.9
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HALIBUT]       -0.2    0.7   -1.8
## b[covid SPECIES_COMMON_NAME:PACIFIC_HALIBUT]              0.5    1.2   -1.2
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]   -0.1    0.7   -1.5
## b[covid SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]          0.0    1.1   -2.3
## b[(Intercept) SPECIES_COMMON_NAME:SABLEFISH]              0.4    0.7   -0.9
## b[covid SPECIES_COMMON_NAME:SABLEFISH]                    0.0    1.0   -2.0
## b[(Intercept) SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]    0.5    0.7   -0.7
## b[covid SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]         -0.2    1.0   -2.7
## b[(Intercept) SPECIES_COMMON_NAME:WALLEYE_POLLOCK]       -0.5    0.9   -2.5
## b[covid SPECIES_COMMON_NAME:WALLEYE_POLLOCK]             -0.1    1.0   -2.4
## b[(Intercept) SPECIES_COMMON_NAME:WIDOW_ROCKFISH]        -0.6    0.8   -2.5
## b[covid SPECIES_COMMON_NAME:WIDOW_ROCKFISH]               0.0    1.0   -2.2
## b[(Intercept) SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]    0.3    0.8   -1.0
## b[covid SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]         -0.3    1.1   -2.9
## sigma                                                     3.2    0.2    2.9
## Sigma[year:(Intercept),(Intercept)]                       0.5    0.7    0.0
## Sigma[SPECIES_COMMON_NAME:(Intercept),(Intercept)]        1.4    1.5    0.0
## Sigma[SPECIES_COMMON_NAME:covid,(Intercept)]             -0.1    1.1   -2.6
## Sigma[SPECIES_COMMON_NAME:covid,covid]                    1.5    2.6    0.0
## mean_PPD                                                  8.6    0.4    7.9
## log-posterior                                          -442.5    6.2 -455.0
##                                                          25%    50%    75% 
## gearBOTTOM TRAWL                                         10.0   10.4   10.8
## gearHOOK AND LINE                                         6.3    6.8    7.3
## gearMIDWATER TRAWL                                        9.0    9.5    9.9
## gearTRAP                                                  7.4    8.4    9.3
## gearUNSPECIFIED                                           4.0    4.7    5.3
## covid                                                    -0.6    0.2    1.0
## b[(Intercept) year:2011]                                 -0.1    0.0    0.3
## b[(Intercept) year:2012]                                 -0.1    0.1    0.4
## b[(Intercept) year:2013]                                 -0.3    0.0    0.1
## b[(Intercept) year:2014]                                 -0.2    0.0    0.2
## b[(Intercept) year:2015]                                  0.0    0.3    0.8
## b[(Intercept) year:2016]                                 -0.5   -0.2    0.0
## b[(Intercept) year:2017]                                 -0.5   -0.1    0.0
## b[(Intercept) year:2018]                                 -0.1    0.1    0.5
## b[(Intercept) year:2019]                                 -0.4   -0.1    0.1
## b[(Intercept) year:2020]                                 -0.2    0.0    0.3
## b[(Intercept) SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]   -0.8   -0.3    0.0
## b[covid SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]         -0.8   -0.2    0.2
## b[(Intercept) SPECIES_COMMON_NAME:DOVER_SOLE]            -1.3   -0.6   -0.1
## b[covid SPECIES_COMMON_NAME:DOVER_SOLE]                  -0.2    0.1    0.7
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HAKE]           0.8    1.6    2.4
## b[covid SPECIES_COMMON_NAME:PACIFIC_HAKE]                -0.5    0.0    0.6
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HALIBUT]       -0.6   -0.1    0.2
## b[covid SPECIES_COMMON_NAME:PACIFIC_HALIBUT]             -0.1    0.2    0.9
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]   -0.5    0.0    0.3
## b[covid SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]         -0.4    0.0    0.4
## b[(Intercept) SPECIES_COMMON_NAME:SABLEFISH]              0.0    0.3    0.8
## b[covid SPECIES_COMMON_NAME:SABLEFISH]                   -0.4    0.0    0.5
## b[(Intercept) SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]    0.0    0.4    0.9
## b[covid SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]         -0.6   -0.1    0.3
## b[(Intercept) SPECIES_COMMON_NAME:WALLEYE_POLLOCK]       -1.0   -0.4    0.1
## b[covid SPECIES_COMMON_NAME:WALLEYE_POLLOCK]             -0.5   -0.1    0.3
## b[(Intercept) SPECIES_COMMON_NAME:WIDOW_ROCKFISH]        -1.1   -0.5    0.0
## b[covid SPECIES_COMMON_NAME:WIDOW_ROCKFISH]              -0.5    0.0    0.4
## b[(Intercept) SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]   -0.1    0.2    0.8
## b[covid SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]         -0.6   -0.1    0.2
## sigma                                                     3.1    3.2    3.4
## Sigma[year:(Intercept),(Intercept)]                       0.1    0.2    0.6
## Sigma[SPECIES_COMMON_NAME:(Intercept),(Intercept)]        0.4    1.0    1.9
## Sigma[SPECIES_COMMON_NAME:covid,(Intercept)]             -0.4    0.0    0.2
## Sigma[SPECIES_COMMON_NAME:covid,covid]                    0.2    0.7    1.9
## mean_PPD                                                  8.4    8.6    8.9
## log-posterior                                          -446.5 -442.3 -438.2
##                                                          97.5%
## gearBOTTOM TRAWL                                         11.7 
## gearHOOK AND LINE                                         8.2 
## gearMIDWATER TRAWL                                       10.8 
## gearTRAP                                                 11.1 
## gearUNSPECIFIED                                           6.4 
## covid                                                     2.7 
## b[(Intercept) year:2011]                                  1.3 
## b[(Intercept) year:2012]                                  1.3 
## b[(Intercept) year:2013]                                  0.9 
## b[(Intercept) year:2014]                                  1.1 
## b[(Intercept) year:2015]                                  2.1 
## b[(Intercept) year:2016]                                  0.6 
## b[(Intercept) year:2017]                                  0.6 
## b[(Intercept) year:2018]                                  1.7 
## b[(Intercept) year:2019]                                  0.8 
## b[(Intercept) year:2020]                                  1.5 
## b[(Intercept) SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]    0.9 
## b[covid SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]          1.2 
## b[(Intercept) SPECIES_COMMON_NAME:DOVER_SOLE]             0.7 
## b[covid SPECIES_COMMON_NAME:DOVER_SOLE]                   3.2 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HAKE]           4.0 
## b[covid SPECIES_COMMON_NAME:PACIFIC_HAKE]                 3.0 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HALIBUT]        1.3 
## b[covid SPECIES_COMMON_NAME:PACIFIC_HALIBUT]              3.6 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]    1.4 
## b[covid SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]          2.5 
## b[(Intercept) SPECIES_COMMON_NAME:SABLEFISH]              1.9 
## b[covid SPECIES_COMMON_NAME:SABLEFISH]                    2.1 
## b[(Intercept) SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]    2.0 
## b[covid SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]          1.7 
## b[(Intercept) SPECIES_COMMON_NAME:WALLEYE_POLLOCK]        1.1 
## b[covid SPECIES_COMMON_NAME:WALLEYE_POLLOCK]              1.8 
## b[(Intercept) SPECIES_COMMON_NAME:WIDOW_ROCKFISH]         0.9 
## b[covid SPECIES_COMMON_NAME:WIDOW_ROCKFISH]               2.1 
## b[(Intercept) SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]    2.0 
## b[covid SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]          1.5 
## sigma                                                     3.7 
## Sigma[year:(Intercept),(Intercept)]                       2.5 
## Sigma[SPECIES_COMMON_NAME:(Intercept),(Intercept)]        5.2 
## Sigma[SPECIES_COMMON_NAME:covid,(Intercept)]              1.6 
## Sigma[SPECIES_COMMON_NAME:covid,covid]                    7.5 
## mean_PPD                                                  9.4 
## log-posterior                                          -430.9 
## 
## Diagnostics:
##                                                        mcse Rhat n_eff
## gearBOTTOM TRAWL                                       0.0  1.0  1982 
## gearHOOK AND LINE                                      0.0  1.0  2128 
## gearMIDWATER TRAWL                                     0.0  1.0  1877 
## gearTRAP                                               0.0  1.0  3757 
## gearUNSPECIFIED                                        0.0  1.0  3036 
## covid                                                  0.0  1.0  2977 
## b[(Intercept) year:2011]                               0.0  1.0  4045 
## b[(Intercept) year:2012]                               0.0  1.0  3144 
## b[(Intercept) year:2013]                               0.0  1.0  4987 
## b[(Intercept) year:2014]                               0.0  1.0  4786 
## b[(Intercept) year:2015]                               0.0  1.0  1950 
## b[(Intercept) year:2016]                               0.0  1.0  3701 
## b[(Intercept) year:2017]                               0.0  1.0  4060 
## b[(Intercept) year:2018]                               0.0  1.0  3221 
## b[(Intercept) year:2019]                               0.0  1.0  4297 
## b[(Intercept) year:2020]                               0.0  1.0  2641 
## b[(Intercept) SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER] 0.0  1.0  2573 
## b[covid SPECIES_COMMON_NAME:ARROWTOOTH_FLOUNDER]       0.0  1.0  3455 
## b[(Intercept) SPECIES_COMMON_NAME:DOVER_SOLE]          0.0  1.0  2276 
## b[covid SPECIES_COMMON_NAME:DOVER_SOLE]                0.0  1.0  3707 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HAKE]        0.0  1.0  1226 
## b[covid SPECIES_COMMON_NAME:PACIFIC_HAKE]              0.0  1.0  4435 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_HALIBUT]     0.0  1.0  2934 
## b[covid SPECIES_COMMON_NAME:PACIFIC_HALIBUT]           0.0  1.0  3118 
## b[(Intercept) SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH] 0.0  1.0  3236 
## b[covid SPECIES_COMMON_NAME:PACIFIC_OCEAN_PERCH]       0.0  1.0  4791 
## b[(Intercept) SPECIES_COMMON_NAME:SABLEFISH]           0.0  1.0  2568 
## b[covid SPECIES_COMMON_NAME:SABLEFISH]                 0.0  1.0  4476 
## b[(Intercept) SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH] 0.0  1.0  1863 
## b[covid SPECIES_COMMON_NAME:SILVERGRAY_ROCKFISH]       0.0  1.0  3715 
## b[(Intercept) SPECIES_COMMON_NAME:WALLEYE_POLLOCK]     0.0  1.0  3521 
## b[covid SPECIES_COMMON_NAME:WALLEYE_POLLOCK]           0.0  1.0  3875 
## b[(Intercept) SPECIES_COMMON_NAME:WIDOW_ROCKFISH]      0.0  1.0  3029 
## b[covid SPECIES_COMMON_NAME:WIDOW_ROCKFISH]            0.0  1.0  4123 
## b[(Intercept) SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH] 0.0  1.0  2792 
## b[covid SPECIES_COMMON_NAME:YELLOWTAIL_ROCKFISH]       0.0  1.0  4020 
## sigma                                                  0.0  1.0  2916 
## Sigma[year:(Intercept),(Intercept)]                    0.0  1.0  1662 
## Sigma[SPECIES_COMMON_NAME:(Intercept),(Intercept)]     0.0  1.0  1517 
## Sigma[SPECIES_COMMON_NAME:covid,(Intercept)]           0.0  1.0  3251 
## Sigma[SPECIES_COMMON_NAME:covid,covid]                 0.1  1.0  2139 
## mean_PPD                                               0.0  1.0  4015 
## log-posterior                                          0.2  1.0   893 
## 
## For each parameter, mcse is Monte Carlo standard error, n_eff is a crude measure of effective sample size, and Rhat is the potential scale reduction factor on split chains (at convergence Rhat=1).

This summary output (sorry pretty ugly/volumous printout…) suggests that on average across species (log) landings were no different during the COVID lockdown (see coefficient for “covid” above: 0.2 [-2.3 to 2.7 95% CIs] which translates into a point estimate of a 22% increase [(exp(0.2)-1) x 100]) than would otherwise have been expected based on history of landings by gear type over the past decade. So I would interpret this as a lack of evidence for a COVID lockdown effect on groundfish landings in the Pacific Region.

We can also look at the species specific covid coefficients (random effects on slope) to see which species (if any) exhibited evidence of reductions in landings coincident with the COVID lockdown which may be maske by the overall distribution of responses. These species specific coefficients show no evidence for a COVID effect on individual species.

If we want a t-statistic associated with the COVID “effect” then we can also fit the model in a Maximum Likelihood framework using lmer. Looks like there is a singularity issue which means one or more of the varainces are estimated to be near/at zero, but covid coefficient is similar (but slightly smaller) to Bayesian model above so we can probably ignore the singularity warning. Like above there is no evidence for a COVID lockdown effect and the model based estimte of percent change in log landings is slighty smaller +13%.

covid_model <- lmer(log_land~0+gear+covid+(1|year)+(covid|SPECIES_COMMON_NAME), data = covid_period)
## boundary (singular) fit: see ?isSingular
summary(covid_model) 
## Linear mixed model fit by REML ['lmerMod']
## Formula: 
## log_land ~ 0 + gear + covid + (1 | year) + (covid | SPECIES_COMMON_NAME)
##    Data: covid_period
## 
## REML criterion at convergence: 752.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.4196 -0.7629  0.1638  0.6934  1.9580 
## 
## Random effects:
##  Groups              Name        Variance Std.Dev. Corr 
##  year                (Intercept)  0.13998 0.3741        
##  SPECIES_COMMON_NAME (Intercept)  1.28190 1.1322        
##                      covid        0.04432 0.2105   -1.00
##  Residual                        10.35079 3.2173        
## Number of obs: 146, groups:  year, 10; SPECIES_COMMON_NAME, 10
## 
## Fixed effects:
##                    Estimate Std. Error t value
## gearBOTTOM TRAWL    10.4910     0.6392  16.414
## gearHOOK AND LINE    6.8688     0.7043   9.752
## gearMIDWATER TRAWL   9.5041     0.6470  14.689
## gearTRAP             8.4829     1.3720   6.183
## gearUNSPECIFIED      4.8281     0.9209   5.243
## covid                0.1203     0.9989   0.120
## 
## Correlation of Fixed Effects:
##             gBOTTT gHOOAL gMIDWT grTRAP gUNSPE
## gHOOKANDLIN  0.377                            
## gMIDWATERTR  0.369  0.351                     
## gearTRAP     0.162  0.189  0.129              
## gUNSPECIFIE  0.266  0.225  0.256  0.130       
## covid       -0.175 -0.256 -0.279 -0.026 -0.037
## convergence code: 0
## boundary (singular) fit: see ?isSingular